import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
from config.gp_config import EamilConfig


def send_email(content, c_type):
    # 2 发送方和接收方配置
    # 发件方邮箱：谁发送的
    msg_from = EamilConfig.msg_from
    # 生成的授权码：不能泄露
    password = EamilConfig.password
    # # 发送给谁，可以写多个人，以列表形式存储
    msg_to = EamilConfig.msg_to
    # 邮件主题
    subject = EamilConfig.subject
    msg = MIMEText(content, c_type)
    # 放入邮件主题
    msg['Subject'] = subject
    # 放入发件人,元祖中内容第一个是发件人名称，第二个是发件地址
    msg['From'] = formataddr((EamilConfig.form_man, msg_from))
    # 放入收件人,将收件人转化为以逗号分隔的字符串
    msg['to'] = ','.join(msg_to)
    try:
        # 通过ssl方式发送，服务器地址，端口
        s = smtplib.SMTP_SSL("smtp.163.com", 465)
        # 登录到邮箱
        s.login(msg_from, password)
        # 发送邮件：发送方，收件方，要发送的消息
        s.sendmail(msg_from, msg_to, msg.as_string())  # 第二个参数可以以列表的方式写多个
        print('成功')
    except BaseException as e:
        print(e)
    finally:
        # 不管是否发送成功，都退出服务
        s.quit()
